package com.aiwiown.snackmq.common.auth;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * 一个 DTO，代表一个已认证的用户，通常在成功登录后返回。
 * 它包含用户的身份、角色和一个用于后续认证请求的令牌 (例如 JWT)。
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class AuthenticatedUser implements Serializable {

    private static final long serialVersionUID = 3902102934818971696L;
    private String username;
    private String token;
    private List<String> roles;
    // 【新增】增加令牌过期时间字段，方便客户端管理会话
    private Date expiration;
}